package com.sun.tool.annotations;

/**
 * 常用正则 校验规则
 * @auther Sunql
 * @create 2018/3/26
 **/
public class Regularity {


    /********************已正则规则使用，不可修改 start***********************/
    /**
     * 正则表达式：验证汉字
     */
    public static final String REGEX_CHINESE = "^[\\u4e00-\\u9fa5]*$";

    /**
     * 正则表达式：验证经度
     * /^(((\d|[1-9]\d|1[1-7]\d|0)\.\d{0,14})|(\d|[1-9]\d|1[1-7]\d|0{1,3})|180\.0{0,14}|180)$/
     */
    public static final String REGEX_LNG = "^(((\\d|[1-9]\\d|1[1-7]\\d|0)\\.\\d{0,14})|(\\d|[1-9]\\d|1[1-7]\\d|0{1,3})|180\\.0{0,14}|180)$";


    /**
     * 正则表达式：验证纬度
     * /^([0-8]?\d{1}\.\d{0,14}|90\.0{0,14}|[0-8]?\d{1}|90)$/
     */
    public static final String REGEX_LAT = "^([0-8]?\\d{1}\\.\\d{0,14}|90\\.0{0,14}|[0-8]?\\d{1}|90)$";


    /**
     * 正则表达式：验证数字
     * ^[0-9]*$
     */
    public static final String REGEX_INT = "^[0-9]*$";


    /**
     * 正则表达式：验证手机号
     */
    public static final String REGEX_MOBILE = "\\d{11}";


    /********************已正则规则使用，不可修改 end***********************/



    /********************未正则规则使用，可以修改 start***********************/

    /**
     * 正则表达式：验证用户名
     */
    public static final String REGEX_USERNAME = "^[a-zA-Z]\\w{5,17}$";

    /**
     * 正则表达式：验证密码
     */
    public static final String REGEX_PASSWORD = "^[a-zA-Z0-9]{6,16}$";


    /**
     * 正则表达式：验证邮箱
     */
    public static final String REGEX_EMAIL = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";

    /**
     * 正则表达式：验证身份证
     */
    public static final String REGEX_ID_CARD = "(^\\d{18}$)|(^\\d{15}$)";

    /**
     * 正则表达式：验证URL
     */
    public static final String REGEX_URL = "http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?";

    /**
     * 正则表达式：验证IP地址
     */
    public static final String REGEX_IP_ADDR = "(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)";

    /********************未正则规则使用，可以修改 end***********************/

}
